package homework;

/**
 * @Author Stringzhua
 * @Date 2024/3/1 9:39
 * description:
 * 将对象作为参数传递方法
 * 题目要求：
 * (1)定义一个Circle类，包含一个double型的radius属性代表圆的半径，findArea()方法返回圆的面积
 * (2)定义一个类PassObject,在类中定义一个方法printAreas(),该方法定义如下：
 * public void printAreas(Circle c,int times)  //方法签名
 * (3)在printAreas方法中打印输出1到times之间的每个整数的半径值，以及对应的面积
 * 例如：times为5,则输出半径1,2,3,4,5 以及对应的面积
 * (4)在main方法中调用printAreas()方法，调用完毕后输出当前半径值.
 */
public class homework13 {
    public static void main(String[] args) {
        Circle01 c = new Circle01();
        PassObject po= new PassObject();
        po.printAreas(c,5);
    }
}

class Circle01 {
    double radius;//半径
    public Circle01(){//声明无参构造器

    }
//    public Circle(double radius) {//此处构造器用处不大
//        this.radius = radius;
//    }

    public double findArea() {//返回圆的面积
        return Math.PI * radius * radius;
    }

    //添加方法setRadius
    public void setRadius(double radius) {
        this.radius = radius;
    }
}

class PassObject {
    public void printAreas(Circle01 c, int times) {
        System.out.println("redius\tareea");
        for (int i = 1; i <= times; i++) {
            c.setRadius(i);//修改circle对象的半径值
            c.findArea();
            System.out.println((double) i + "\t" + c.findArea());
        }
    }
}
